1. Technical Field
This invention relates to control systems, and more particularly to systems for representing and combining multiple concurrent control commands to produce coherent action.
2. Discussion
Sensor based intelligent real-time control systems are used in a variety of applications. These include autonomous, air, land, and underwater vehicles. Also such control systems are found in sensor steering, missile guidance, vehicle actuator control systems and process control systems. The central task of such control systems is to combine a variety of sensory inputs to obtain a reasonable control decision.
There is an emerging class of control systems, sometimes called fuzzy controllers, or behavior-based control systems in which control actions are computed from the collective votes of many independent control procedures or rules. These procedures or rules are sometimes referred to as behaviors. For example, in a vehicle control system, one behavior may perform obstacle avoidance, and another behavior may perform target tracking. While both behaviors may issue commands for turning the vehicle, these commands may or may not agree. Thus, it is necessary for a control architecture to represent and combine the behavior commands in such a way that a single action may be discerned from the collective preferences of multiple behaviors.
Many techniques have been developed for the purpose of combining commands from multiple, simple, control laws or decision rules. One technique is called the subsumption architecture. See Brooks, R. A., "A Layered Intelligent Control System for a Mobile Robot," in ISSR; Third International Symposium of Robotics Research, Gouvieux, France, October, 1985.
In the subsumption architecture, simple finite-state machines can inhibit or subsume the output of others. This provides a means to incrementally assemble a complex real-time control system from many simple behaviors. However, the combination scheme used in subsumption does not allow behaviors to express preferences and does not provide a means to combine alternative concerns from different behaviors.
Later work in behavior-based control allowed behaviors to place commands in an array, and other behaviors could alter these commands if they had suitable priority. See Payton, D. W., "An Architecture for Reflexive Autonomous Vehicle Control," in IEEE International Conference on Robotics and Automation, San Francisco, Calif., April 7-10, 1986, pp. 1838-1845. In this system, each command could be assigned a unique function that would define how new commands would be combined with the existing array entry. A behavior could thus overwrite a previous command, yielding the same effect as in subsumption. Alternatively, the array entry could be updated with the average, the maximum, or the minimum of the new command and the current entry value. Still, this technique did not allow for the combination of preferences from behaviors.
Later, a technique was developed that allowed the combination of discrete preferences from behaviors. See Rosenblatt, J. K. and Payton, D. W., "A Fine-grained Alterative to the Subsumption Architecture for Mobile Robot Control," in International Joint Conference on Neural Networks, Washington, D.C., June 1989, pp. 317-324.
This technique quantizes steering commands into discrete values. Behaviors vote on their preference for each command choice. By summing up the preferences from all behaviors for each choice, the one choice with maximum preference will prevail. However, the discrete representation of this approach has a fundamental limitation when applied to control systems. All behavior commands must be expressed in terms of the same derivative of the selected control variable. Thus, commands from a behavior that controls heading cannot easily be combined with commands from another behavior that controls turn rate. Both behaviors must be constrained to using the same control derivative in order for their commands to be combined. This can often make the design of individual behaviors awkward and difficult. The discrete representation also imposes limits on the resolution of control commands. If a given set of control command values is available for voting by the behaviors, then command values that lie between those that are given are not easily attained.
Another approach to combination of commands from multiple behaviors is discussed in the article by R. Arkin, "Motor Schema Based Navigation for a Mobile Robot: An Approach to Programming by Behavior," in IEEE Conf. on Robotics and Automation, March, 1987, pp. 264-271. Unlike the approach used in subsumption, each behavior in Arkin's approach provides a command vector that represents a desired heading and velocity. Arkin sums these vectors to yield a final command vector that presumably will satisfy the needs of the contributing behaviors. However, the result of summing vectors is entirely different from the result of finding the maximum preference. If a vector to go left is summed with a vector to go right, the result will be a vector to go straight ahead. This could end up conflicting with the desires of both behaviors.
Another area of related research is that of fuzzy logic as applied to control systems. See Lee, C. C., "Fuzzy Logic in Control Systems: Fuzzy Logic Controller-Part I," IEEE Systems, Man and Cybernetics, 20(2), 1990, pp. 404-418; and Lee, C. C., "Fuzzy Logic in Control Systems: Fuzzy Logic Controller, Part II," IEEE Systems, Man, and Cybernetics 20(2), 1990, pp. 419-435. In fuzzy controllers, commands are represented in terms of a range of preferences for a set of discrete command values. Special combination rules are used to combine the preferences from different control rules. Once these preferences have been combined, a process called "defuzzification" is employed. This process extracts a single command from the range of command preferences. Several defuzzification methods exist. The most common method is the "center of area" method. This method generates a command at the center of gravity of the preference distribution. This method can generate commands that are between the discrete preference values, but it has the disadvantage of possibly generating commands that lie at the lowest point of a preference distribution if that point is between two peaks of a bi-modal distribution.
Another method known as the "max criterion" method selects the command with the highest overall preference. This entire process is performed upon a set of discrete command choices. The use of discrete choices resembles the use of discrete preferences in the methods described above in the Payton et al. and Rosenblatt et al. articles discussed above. However, fuzzy controllers do not allow both positive and negative preferences to be expressed by behaviors. This is important because negative preferences allows the establishment of disjoint control options. For example, a vehicle may be commanded to go either left or right, while that it may not go straight ahead. Also, fuzzy logic does not permit the combination of behavior commands that have been expressed in terms of different derivatives of a given control variable.
Accordingly, it would be desirable to provide a system for combining commands from multiple simple control laws or decision rules which allows behaviors to express preferences, and also allows the combination of concerns from different behaviors. It would also be desirable to provide a technique for allowing a combination of preferences from behaviors. It would further be desirable to provide a system which is not constrained to using the same control derivative in order for commands to be combined, but instead which permits the combination of behavior commands that have been expressed in terms of different derivatives of a given control variable. Further, it would be desirable to provide such a system in which, if a preference to go left is summed with the preference to go right, the dominant preference will still be either to go left of right and not to go straight ahead. Also, it would be desirable to provide a control system having the above characteristics which allows both positive and negative preferences to be expressed by behaviors.